Skip to content

feat: prototype hosted Spark evals - #471

Draft
mattrossman wants to merge 3 commits into
mainfrom
mattrossman/ai-1390-poc-run-and-score-mcp-and-cli-evals-against-hosted-spark
Draft

mattrossman wants to merge 3 commits into
mainfrom
mattrossman/ai-1390-poc-run-and-score-mcp-and-cli-evals-against-hosted-spark

Conversation

@mattrossman

@mattrossman mattrossman commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

This POC runs Supabase evals against hosted Spark projects through a Management API-compatible adapter. The POC forwards SQL queries and migrations to Spark and seeds SQL fixtures before the agent starts. It also includes experimental Spark adaptations of benchmark and regression scenarios.

The task-tracker trace shows an MCP run against hosted Spark. The benchmark and regression experiments ran the existing scenarios unchanged against Spark at 158d8df. The scenario inventory summarizes the results and potential adaptations.

The adapter implements only part of the Management API. The scenario adaptations are exploratory and need review.

Ref AI-1390

@vercel

vercel Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
evals Ignored Ignored Preview Nov 3, 2026 12:22am UTC

Request Review

mattrossman added a commit that referenced this pull request Nov 5, 2026
Adds a Spark eval suite and a minimal sample scenario for adding due
dates to a seeded task tracker.

Follow-up from #471 which was a
larger attempt at adding MCP / CLI integration and adapting existing
scenarios.

## Demo

See [sample
trace](https://www.braintrust.dev/app/supabase.io/p/Evals/experiments/spark-codex-gpt-6-luna%4026af6cd-20261104T0022Z)
from a local run.

<img width="3836" height="2160" alt="CleanShot 2026-11-03 at 7 27 20
PM@2x"
src="https://github.com/user-attachments/assets/ba03b4bd-42f5-4dee-96aa-2be4e7f8df49"
/>

## How to use

- **To add a scenario** → Put `PROMPT.md`, `EVAL.ts`, and optional
seeded `remote/project.sql` under `evals/spark/<id>/`.
- **To run scenarios** → Set `SPARK_API_URL` in `.env` (find it
[here](https://grid-supabase.enterprise.slack.com/archives/C0C7XC4AV34/p1793135179096979?thread_ts=1793135043.970229&cid=C0C7XC4AV34)),
connect to Supabase WARP, then run `pnpm eval:upload -- --suite spark`.
- **To view results** → Open the Braintrust experiment link printed by
the command, or hand it to [Braintrust
MCP](https://docs.braintrust.dev/integrations/developer-tools/mcp).

The expected workflow is to add a scenario, verify it fails, update
Spark API, and verify the eval passes. The Spark team owns the suite,
skill, and runtime so they can run that process self-serve.

## Notes

Spark interface is explained to agent in a `/spark` skill derived from
[spark-server/API.md](https://github.com/supabase/spark-platform/blob/8c21e34203f58ad4cc234b4d8c1986b1fbcecef7/spark-server/API.md).

Currently this can only run locally with WARP access. CI support will
need Sandboxes to have WARP access.

You can find existing scenarios from our benchmark and regression suites
in [evals/](https://github.com/supabase/evals/tree/main/evals), though
these will need adaptation to make sense for Spark due to known
incompatibilities (e.g. many rely on RLS during setup).

Closes AI-1399

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant